/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package tpgrandt.UI.model;

import java.util.Vector;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableModel;
import tpgrandt.varios.Jugador;

/**
 *
 * @author Sabbag
 */
public class JugadorModel implements TableModel {
    
    Jugador lista[];
    String columnas[] = {"Puesto", "Apellido y nombres", "Club", "Cotización"};
    Vector<TableModelListener> cosas;
    
    public JugadorModel(Jugador plantel[]) {
	lista = plantel;
	cosas = new Vector<TableModelListener>();
    }

    public void cambiarLista(Jugador plantel[]) {
	lista = plantel;
    }

    public int getRowCount() {
	return lista.length;
    }

    public int getColumnCount() {
	return 4;
    }

    public String getColumnName(int columnIndex) {
	return columnas[columnIndex];
    }

    public Class<?> getColumnClass(int columnIndex) {
	return String.class;
    }

    public boolean isCellEditable(int rowIndex, int columnIndex) {
	return false;
    }

    public Object getValueAt(int rowIndex, int columnIndex) {

	if (lista[rowIndex] != null)
	    switch (columnIndex) {
		case 0:
                    switch (lista[rowIndex].getPuesto()) {
                        case Jugador.ARQUERO: return "ARQ";
                        case Jugador.DEFENSOR: return "DEF";
                        case Jugador.VOLANTE: return "VOL";
                        case Jugador.DELANTERO: return "DEL";
                    }
		case 1: return lista[rowIndex].getApellido() + ", " + lista[rowIndex].getNombres();
		case 2: return lista[rowIndex].getClub().getNombre();
		case 3: return lista[rowIndex].getCotizacion();
		case 4: return lista[rowIndex];
	    }

	return "";
	
    }

    public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
	if (aValue == null)
	    lista[rowIndex] = null;
	else
	    lista[rowIndex] = (Jugador) aValue;
    }

    public void addTableModelListener(TableModelListener l) {
	cosas.add(l);
    }

    public void removeTableModelListener(TableModelListener l) {
	cosas.remove(l);
    }

}
